package com.kfm.mybatis.dao;

import com.kfm.mybatis.model.StuModel;
import com.kfm.mybatis.model.UserinfoModel;

import java.util.List;

public interface IUserinfoDao {

    /**
     * 查询所有用户信息
     * @return
     */
//    @Select("select * from userinfo")
    List<UserinfoModel> findAll();


    UserinfoModel findById(String id);

    int insert(UserinfoModel userinfoModel);


    /**
     * 新增数据 并返回主键
     *  主键在数据库表中是自增的
     *  返回的主键会设置到 stuModel 中
     * @param stuModel
     * @return 影响行数
     */
    int insertTest(StuModel stuModel);


    /**
     * 新增数据 并返回主键
     *  主键在数据库表中是自增的， 通过在 insert 语句后执行 selectKey
     *  返回的主键会设置到 stuModel 中
     *
     * @param stuModel
     * @return 影响行数
     */
    int insertTest2(StuModel stuModel);


    /**
     * 新增
     *  id 字段值由 数据库 uuid() 函数生成并设置到 userinfoModel 的 id 字段
     * @param userinfoModel
     * @return
     */
    int insert2(UserinfoModel userinfoModel);


    List<UserinfoModel> selectByUsername(String username);
}
